define(["require", "exports"], function (require, exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    /**监听事件类 */
    class ListenerCenter {
        constructor() {
        }
        /**快捷注册点击事件
         * @param listenerType:事件类型
         * @param listenerObj:监听的元素对象
         * @param listener:监听回调方法
         * @param param:回调方法需要的参数
         * 无论有无参数，都会在回调参数数组头部置入调用对象
        */
        addEvent(listenerType, listenerObj, listener, ...param) {
            param.unshift(listenerObj);
            listenerObj.addEventListener(listenerType, listener.bind(listenerObj, param));
        }
        /**快捷移除事件
         * @param listenerType:事件类型
         * @param listenerObj:监听对象
         * @param listener:监听回调方法
         * @param param:回调方法需要的参数
        */
        removeEvent(listenerType, listenerObj, listener, ...param) {
            param.splice(0, param.length);
            param = null;
            listenerObj.removeEventListener(listenerType, listener.bind(listenerObj, null, null));
        }
    }
    exports.ListenerCenter = ListenerCenter;
});
